import Vue from 'vue';

// 1. 导入 vue-router 包
import VueRouter from 'vue-router';
// 2. 手动安装 VueRouter 
Vue.use(VueRouter);
// 导入 自定义路由模块
import router from './router.js';



// 导入 axios 组件
import axios from 'axios';
Vue.prototype.$axios = axios;
// axios.defaults.baseURL = 'http://39.101.162.217:8088/'
axios.defaults.baseURL = 'http://localhost:8088/'

import vuex from 'vuex'
Vue.use(vuex)

const store = new vuex.Store({
  state:{
    articleid:1,
    Article:{
      article_title:'',
      article_content:'',
    },
  },
  mutations:{
    increment(state){
      state.articleid++;
    },
    setId(state,id){
      state.articleid = id;
    }
  }
}
)


import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI,{size:'small',zIndex:3000});

// 前端iview , 一套高质量的UI组件库
import ViewUI from 'view-design';
import 'view-design/dist/styles/iview.css';
Vue.use(ViewUI)

// Markdown组件库
import mavonEditor from 'mavon-editor';
import 'mavon-editor/dist/css/index.css';
Vue.use(mavonEditor);

import hljs from 'highlight.js'
import 'highlight.js/styles/googlecode.css' 
async function highlighthandle(){
  await hljs;
  let highlight = document.querySelectorAll('code,pre');
  highlight.forEach((block)=>{
     hljs.highlightBlock(block);
  })
}
highlighthandle();


// 导入 app 组件
import app from './App.vue';

// 看板娘
import {L2Dwidget} from 'live2d-widget'
Vue.use(L2Dwidget)

var vm = new Vue({
  el: '#app',
  render: c => c(app), // render 会把 el 指定的容器中，所有的内容都清空覆盖，所以 不要 把 路由的 router-view 和 router-link 直接写到 el 所控制的元素中
  router, // 4. 将路由对象挂载到 vm 上
  store:store,
})